BERT THE BARBARIAN - public demo version #0.02. 15 Nov 2000 * div competition release * Well, a month or two has passed since release 0.01 without much happening to Bert. Until the last 3 days that is... due to my computer being away and me being busy making TV commercials (claymation if you hadn't guessed - my very first contracts!) but with the div competition looming I managed to wrap up up the TVCs in time to make a heroic last minute effort to whip Bert into some semblance of a playable game...most of which was done in the last 24 hours and I'm feeling seriously sleep-deprived but I'll try to stay coherent long enough to give you the lowdown. First up, I rewrote the scroll routines and they now work around 40% faster. Even so, you'll need a fairly hefty PC to not experience a bit of lag from time to time, particularly in level 2 when there's lots of swinging ropes around. Further optimisation to come. The FPS is displayed in the bottom left corner, 28 fps is 100% speed. If you're consistently below this, you might try reducing the amount of parallax from 4 layers to 2, which you can do in the option menu. Biggest changes since the last release are, you can now actually get hurt and die! Also, there is another bonus item to collect, a joint of meat, which will give you 3 life back when collected. You'll need it! Also, new in 0.02 is the ability to actually go through different levels.. sadly only 2 at the moment because I clean ran out of time. If I had had just one more day, there would have been 5 though...since my level editor is now up and running fully featured. Expect more levels soon! As it is, the 2 levels will simply cycle back and forth. If you get bored, try collecting the 3 piles of treasure that are hidden in places extra tricky to get into (or out of...) When you go through a level, you are awarded an extra life, plus 1000 points each heart you have left. And 20 points per unit of time remaining. There's no visual indication of this yet though, once again because of time. So I'm telling you so you know. Sound and music are all newly minted, and here I must give a big thank you to David Holmes who took a few hours out of his busy schedule yesterday to help me with that. Unfortunately we ran out of time before being able to make a proper in-game music track or two, so if the ingame music sounds rather minimalist it's because we threw it together in just 5 minutes. Better ones to come! That's me singing by the way - unfortunately 8bit mono pcm is not kind to sound clarity, so if you're wondering what the words are, it goes like this: (*ahem*) BERT THE BARBARIAN, VILE, MALIGNANT PSYCHOPATH! -so now you can sing along too. The enemies behave a tad more sensibly now too, they've had an extensive rewrite. Still a way to go though, and the occasional bug remains... The other thing different about the enemies is they are no longer simply randomly generated - I can program their attacks in the level generator. So pay attention to what happens and when if you want to get through in one piece... And I fixed that weird redefine keys bug mentioned below...at the cost of disabling the left shift key. Sorry to any left-shift lovers out there... I still don't know why it was doing what it did... Biggest things still missing? Well, more levels and scenery obviously... Also there are only two types of enemy so far...more to come! Not to mention a full assortment of environmental hazards. Also Bert still doesn't have nearly enough moves in his repetoire...I plan to have him able do all sorts of things to his poor adversaries. If Bert sometimes seems a little unresponsive, this is mostly due to the fact that many of his moves are still missing. For example there's currently no attack you can make while jumping straight up. And the up key isn't actually used for anything yet..to say nothing of the double-taps, combos etc which are integral to my vision of this game complete. While on the topic of moves, I'd like to take this opportunity to re-iterate a couple of important points that most people fail to take any notice of: To grab a swinging rope, press jump and HOLD IT DOWN. If you release the key, you release the rope. When running, press down to do a roll. This is indespensable for taking out knife throwers, just don't try it when there are sword guys around. That's all for now I think, until next time... BERT THE BARBARIAN - public demo version #0.01. This game was originally intended to be a reasonably soft re-introduction to game programming (I haven't gotten down 'n dirty with a computer since the days of the Z80), and my first projet with Div games studio. Many moons have passed and the damn thing still is nowhere near finished, but I have decided to show it to the world nonetheless since I am in sore need of some feedback and hopefully a bit of encouragement too! Please take the time to read my comments below, it would make me feel much better about letting people see the game in its current state of disarray if you kept the following in mind (humour me -there's also a couple of quite important things in there): WHY HAS IT BEEN TAKING SO LONG? - MY EXCUSE... (NOTE: Feel free to skip this bit if you're not interested in the processes involved....) Programming-wise, everything has gone very smoothly and Div has proven to be a very quick and easy way of getting the action onto the screen. What has been eating up my time with this project has been the graphics. I grossly underestimated the difference in workload between producing claymation for film, and for videogames. With film, you place the models, take a shot, move the models, take another shot, and so on. The same is true for games, but with the added headache of cleaning up each frame by hand! Every frame has to be cut out - a blue-screen makes this easier, but since a PC monitor is a lot more unforgiving than a TV screen, and you don't have the option of anti-aliaing the edges, I also go over each frame by hand and remove any stray pixels I find for a cleaner look. Also, in order to use the palette to maximum effect, rather than using full colour models, I use grey models and hand colour them. This means that I get maximum use out of each of the 256 colours Div allows, and also lets me do palette switching effects (like the different coloured enemies) but is quite time-consuming. Add to this the fact that when working in film, the animation proceeds in a linear fashion, one frame after the other, the same is not true for games - any frame of animation could potentially lead to dosens of others depending on what course of action the character decides to take, but these frames must all lead on from one another as seamlessly as possible. Quite often I will resort to butchering a frame quite severely, moving, rotating, even redrawing by hand elements of the frame in order that it smoothly match up to other frames that may have been shot weeks ago. All of this means that I spend an average of around half an hour getting each frame ready. Bert is not a particularly ambitious project programming-wise, but graphically he and his buddies call for quite a lot of different animation sequences - I think there's over a thousand different maps in there now...with many more to come no doubt. Even more crazily, when I started, I decided that rather than simply mirroring the graphics for left/right versions of the actions, I would shoot each frame seperately from both sides! My reasoning for this was twofold: First, it would ensure that the shadows would always be on the right-hand side of the character for added realism - this seems trifling, but having the shadows on the wrong side of an element in the scene can make the whole thing seem quite wrong, even if you can't quite put your finger on what it is...I have been trying to make the whole thing seem as much like a real claymation world as I can... although I can never fully achieve this until div supports proper alphablending, (for edge antialiasing and more convincing shadows, mostly) I still want to give it my best shot. Second, Bert is holding a sword in his right hand. If I mirrored him, he would then be holding it in his left hand. if I wanted the frames to link up properly, I would have to have him switch from one hand to the other in the frames leading up to the mirroring, and this seemed unnatural. I wanted Bert to look as much as possible like a little animated guy come to life on the screen, not just a few frames slung together. Following this reasoning, my course of action seemed clear, even though it effectively meant doublng my animation workload. Do I regret it now? Ohh yes. I can still justify it...but it's small consolation for having to do everything twice. THE BERT CONCEPT It started as a very simple idea for a straightforward arcade style game. Imagine yourself as a little claymtion guy in a claymation world. Other claymation guys attack you from all sides. However, your guy has a very large, very real (not clay) sword, and he can slice through the enemies with it like butter. I thought it sounded like fun - you can judge that part for yourself. However, it's been a huge effort to get this simple vision realised, an effort which perhaps the simple premise can't fully justify. I'm starting to think maybe I should spice up the gameplay a little more for added depth...I'm not talking about more enemies, backgrounds, timing traps, moving platforms, etc. - they're on the way for sure - but perhaps a MILD problem solving element too? Kind of like Shadow of the Beast III for example. Perhaps the odd key to collect, lever to pull, rope to cut, barrel to push in the river, that sort of thing. Maybe take the emphasis off straight fighting a little bit, perhaps have the occasional little parts where enemies AREN'T advancing on you non-stop...I'd be interested to hear what people think about that. SO WHAT'S DONE? WHAT'S STILL TO COME? At the moment Bert only has a very limited repetiore of moves. Basically he runs, swipes, crouches, creeps along, can do little rolls (press down while running - this is handy for taking out knife throwers, but dangerous against sword guys), jumps and can do big overhead chops (press attack while jumping sideways). An important element of the concept was that Bert would be able to pull of a respectable variety of moves and combos, so you can really go to town dicing up those guys. Given the amount of effort I'm putting into the animation, this will take some time, but try to imagine, as you're playing, Bert doing all sorts of other cool moves with his sword. An important element that's not yet implemented is the ability to skewer the enemies. After a skewer, Bert will be able to do several things to the unfortunate guy - including flinging him over the shoulder and kicking him off the point - these last two moves, I'm planning, will be able to knock down any nearby enemies approaching from behind and in front, respectively. It won't kill them, just slow them up a bit. Also, some quite important things are still missing from Bert's repetiore - like the ability to attack while jumping straight up! And some moves can be quite unresponsive, for example jumping straight after a sword swing. This will be sorted out in time... but it shouldn't bother you too much for now, since another important aspect that's missing is the part where Bert gets hurt! Do me a favour and pretend like you're trying not to get hit anyway. The enemies are pretty darn basic at the moment too...some more exotic ones are planned. Also the ones that ARE there don't do all the things they should. So they behave quite strangely sometimes - like walking out into thin air! These aren't really bugs, it's just half finished code and missing graphics etc, so please try to ignore it. Also, the bad guys just appear randomly at the moment. This isn't the plan. Soon I'll be incorporating bad guy placement into the level editor which I'm guessing will make a big difference to gameplay. At the moment you don't get many bad guys if you run around a lot, so I suggest staying in one spot and letting them come to you if you want some carnage - try defending the bridge for example. The background should be considered STRICTLY PRELIMINARY, I haven't really spent much time on it yet - finished levels will have much more detail and variety, as well as animated aspects like waterfalls, fluttering flags...once again, please use your imagination. What I have included here is not a real level, just all the stuff i've done up till now slung together quite haphazardly. There will be traps, moving platforms, jets of flame, falling boulders and stuff like that in the finished version. At the moment, however, I haven't even yet done the ladders yet! (although the swinging ropes are pretty much done, however Bert's swinging on them still needs work. NOTE: to grab a rope, HOLD DOWN the jump button. If you release, so will Bert. Is this counter-intuitive, or are you okay with that? I'd like to know). You also can't finish the level yet. Nor can you die except by falling off the bottom of the level. And even then you won't lose a life cause that's not done yet either. If you get to the end of the level, all that will happen is you will rather disappointingly fall off the edge of the map and get put back at the start. Sorry - consider this your fair reward for finishing a level where the bad guys can't hurt you yet! Also, the ripped music is just temporary...until I get some proper music recorded. Title music to come too. In fact, all the sound effects should be considered temporary (most of them are just the closest thing I could find in the div library) until I get around to recording the real thing. UPDATE: - I have removed the ripped music file and replaced it with a small, blank pcm... since it turned out the file made the zip twice as big....so, you can still turn the music on and off, but now the music is just a short looped silence...feel free to whisle. High scores, credit sequence, that whole bit: still to do. Numerous bug fixes and general housework and tidying: ditto. There is a wierd bug concerning redefining the keys...sometimes pressing the cursor up key returns a keyboard code it shouldn't...and for some reason the left and right keys return this same code too...I've gone over the code, no problem there...and it only happens some of the time...so I guess it's either a Div bug or something screwey with my PC...please let me know if this happens to you, I HOPE it won't...! SYSTEM REQUIREMENTS I'd be interested to hear your results. It should run at 26 fps (the fps is displayed top left), but the minimum requirements have been steadily creeping up....I estimate you'd probably need a 350mhz by now...I'm not going to let that worry me too much for now, I'm just going to add everything I think should be there, and see how high the requirements are at the end of it all. I might even add a couple more layers of parallax yet, that should eat up a bit more CPU... When it's finished, I'll probably go through the code and produce a "low spec" version (lower graphic res, less non-essential stuff going on) for people with slower computers. I'm not sure how much RAM is required either...there's a fair amount of graphics loaded in, and it's going to get worse! So if you have less than perfect results, please let me know. OTHER STUFF YOU MIGHT POSSIBLY BE INTERESTED IN if you press "1" during the game, you can switch to an alternative set of clouds. if you press "m" during the game, you get to see the hardness map in action. Of course these will be removed for the final release! QUESTIONS? COMMENTS? CRITICISMS? Please e-mail me at jilliant@ihug.co.nz. Thanks for taking the time to read this. Hope you like the game. - Anthony PS all this work - graphics,code etc is (c)2000 to me - a mere formality....